// var i;
// var AL_GAME_HUA_Common = require("./AL_GAME_HUA_Common");
// var AL_GAME_HUA_GameData = require("./AL_GAME_HUA_GameData");
// var l = cc._decorator;
// var u = l.ccclass;
// var p = l.property;
// var f = (function (e) {
//     function t() {
//         var t = (null !== e && e.apply(this, arguments)) || this;
//         t.editBox = null;
//         return t;
//     }
//     __extends(t, e);
//     t.prototype.onLoad = function () {
//         this.node.active = AL_GAME_HUA_Common.Common.isDebug();
//     };
//     t.prototype.start = function () {};
//     t.prototype.handle_button_callback = function (e, t) {
//         switch (t) {
//             case "choose":
//                 Number(this.editBox.string) > 0
//                     ? (AL_GAME_HUA_GameData.GameData.getInstance().unlockLevel = parseInt(this.editBox.string))
//                     : AL_APP_SDK_MANAGER.showToast("关卡数不合法");
//         }
//     };
//     __decorate([p(cc.EditBox)], t.prototype, "editBox", void 0);
//     return __decorate([u], t);
// })(cc.Component);
// exports.default = f;


// // 引入必要的模块
// var AL_GAME_HUA_Common = require("./AL_GAME_HUA_Common");
// var AL_GAME_HUA_GameData = require("./AL_GAME_HUA_GameData");

// // Cocos Creator 装饰器，用于将 Cocos 类声明为 Cocos 组件
// var CocosDecorator = cc._decorator;
// var classDecorator = CocosDecorator.ccclass;
// var propertyDecorator = CocosDecorator.property;

// /**
//  * @class MyComponent
//  * @extends cc.Component
//  * 此类实现了 Cocos 的组件功能，允许开发者直接与 Cocos 引擎的生命周期同步
//  */
// var MyComponent = (function (baseComponent) {
//     function CustomComponent() {
//         // 调用父类的构造函数
//         var instance = (baseComponent !== null && baseComponent.apply(this, arguments)) || this;
        
//         // 定义UI控件 editBox
//         instance.editBox = null;
        
//         return instance;
//     }
//     // 继承Cocos Creator组件
//     __extends(CustomComponent, baseComponent);
    
//     /** 
//      * 生命周期函数，在组件加载时调用 
//      */
//     CustomComponent.prototype.onLoad = function () {
//         // 根据Common对象中的isDebug方法来决定当前节点是否激活
//         this.node.active = AL_GAME_HUA_Common.Common.isDebug();
//     };
    
//     /** 
//      * 生命周期函数，在组件启动时调用 
//      */
//     CustomComponent.prototype.start = function () {};
    
//     /**
//      * @function handle_button_callback
//      * @param {Event} event - 事件对象
//      * @param {String} actionType - 动作类型
//      * 处理按钮点击回调，根据传入的动作类型执行相应的逻辑
//      */
//     CustomComponent.prototype.handle_button_callback = function (event, actionType) {
//         switch (actionType) {
//             case "choose":
//                 if (Number(this.editBox.string) > 0) {
//                     AL_GAME_HUA_GameData.GameData.getInstance().unlockLevel = parseInt(this.editBox.string);
//                 } else {
//                     AL_APP_SDK_MANAGER.showToast("关卡数不合法");
//                 }
//                 break;
//             default:
//                 break;
//         }
//     };

//     // 使用装饰器为自定义组件增加属性
//     __decorate([propertyDecorator(cc.EditBox)], CustomComponent.prototype, "editBox", void 0);
    
//     // 使用装饰器为自定义组件增加类装饰
//     return __decorate([classDecorator], CustomComponent);
    
// })(cc.Component);

// // 导出默认组件
// exports.default = MyComponent;


// 引入必要的模块
const AL_GAME_HUA_Common = require("./AL_GAME_HUA_Common");
const AL_GAME_HUA_GameData = require("./AL_GAME_HUA_GameData");

// Cocos Creator 装饰器，用于将 Cocos 类声明为 Cocos 组件
const { ccclass, property } = cc._decorator;

/**
 * @class MyComponent
 * @extends cc.Component
 * 此类实现了 Cocos 的组件功能，允许开发者直接与 Cocos 引擎的生命周期同步
 */
@ccclass
class MyComponent extends cc.Component {
    /**
     * @property {cc.EditBox} editBox - 输入框控件，用于获取解锁关卡数
     */
    @property(cc.EditBox)
    editBox = null;

    /**
     * 生命周期函数，在组件加载时调用
     * 设置节点激活状态，根据调试模式决定是否显示
     */
    onLoad() {
        // 根据 Common 对象中的 isDebug 方法来决定当前节点是否激活
        this.node.active = AL_GAME_HUA_Common.Common.isDebug();
    }

    /**
     * 生命周期函数，在组件启动时调用
     * 当前方法暂未实现任何逻辑
     */
    start() {
        // 此处可扩展组件启动时的逻辑
    }

    /**
     * @function handle_button_callback
     * @param {Event} event - 事件对象
     * @param {String} actionType - 动作类型
     * 处理按钮点击回调，根据传入的动作类型执行相应的逻辑
     */
    handle_button_callback(event, actionType) {
        // 根据动作类型执行不同逻辑
        switch (actionType) {
            case "choose":
                // 校验输入框中的关卡数是否合法
                const levelInput = Number(this.editBox.string);
                if (levelInput > 0) {
                    // 设置解锁关卡数
                    AL_GAME_HUA_GameData.GameData.getInstance().unlockLevel = parseInt(this.editBox.string, 10);
                } else {
                    // 显示提示消息
                    AL_APP_SDK_MANAGER.showToast("关卡数不合法");
                }
                break;
            default:
                console.warn(`Unhandled actionType: ${actionType}`);
                break;
        }
    }
}

// 导出默认组件
export default MyComponent;
